package com.itheima.controller;

import com.itheima.exception.FIFAException;
import com.itheima.pojo.Result;
import com.itheima.pojo.User;
import com.itheima.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/user")
//这个注解代表我们引入了 日志  这个日志 可以在我们代码任何地方去使用  log.debug()
@Slf4j
public class UserController {

    @Autowired
    private UserService userService;

  /*  //查询所有
    @GetMapping
    public List<User> queryAll(){

        log.debug("现在我们程序在进行查询所有的功能");

        List<User> users = userService.queryAll();

        log.debug("我们查询出来的数据:"+users);

        return users;

    }*/

    //查询所有
    @GetMapping
    public Result queryAll(){

        log.debug("现在我们程序在进行查询所有的功能");

        List<User> users = userService.queryAll();

        log.debug("我们查询出来的数据:"+users);

        return new Result(true,"本次查询成功",users);

    }


    //添加功能  @PostMapping 添加动作的请求  post请求    @RequestBody用于把接收的json数据转换成对象
    @PostMapping
    public Result add(@RequestBody User user){

        //添加之前进行非法用户判断
        if(user.getName().contains("凯")){
            // 如果发现名字有 凯 子  注意 就是一个异常 我就要抛出
            throw  new FIFAException("带凯 字的 是外星人，不能添加!");
        }

         userService.add(user);


        return new Result(true,"本次添加成功");

    }
}
